# （1） 导入selenium
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By


# (2) 创建浏览器操作对象
# path = 'chromedriver.exe'

s = Service("chromedriver.exe")

# browser = webdriver.Chrome(path)
browser = webdriver.Chrome(service=s)

# 访问网站
url = 'https://www.baidu.com'

browser.get(url)

# page_source获取网页源码
# content = browser.page_source
# print(content)

# 元素定位

# 根据id到对象
# 随着selenium版本的更新，原来的方法会被替换
# button = browser.find_element(By.ID,'su')
# print(button)

# 根据标签属性的属性值来获取对象的
# button = browser.find_element(By.NAME,'wd')
# print(button)

# 根据xpath语句来获取对象
# button = browser.find_element(By.XPATH,'//input[@id="su"]')
# print(button)

# 根据标签的名字来获取对象
# button = browser.find_element(By.TAG_NAME,'input')
# print(button)

# 使用bs4的语法来获取对象
# button = browser.find_element(By.CSS_SELECTOR,'#su')
# print(button)

#
# button = browser.find_element(By.LINK_TEXT,'新闻')
# print(button)


# 获取标签的属性

# input = browser.find_element(By.ID,'su')
# # 获取class属性值
# print(input.get_attribute('class'))
# # 获取标签名
# print(input.tag_name)
# # 获取元素文本
# a = browser.find_element(By.LINK_TEXT,'新闻')
# print(a.text)

# selenium交互
import time
time.sleep(2)

# 获取文本框的对象
input = browser.find_element(By.ID,'kw')

# 在文本框中输入周杰伦
input.send_keys('周杰伦')

time.sleep(2)
# 获取百度一下的按钮
button = browser.find_element(By.ID,'su')
# 点击按钮
button.click()

time.sleep(2)
# 滑到底部
js_bottom = 'document.documentElement.scrollTop=100000'
browser.execute_script(js_bottom)
time.sleep(2)

# 获取下一页的按钮
next = browser.find_element(By.XPATH,'//a[@class="n"]')
# 点击下一页
next.click()

# 回到上一页
browser.back()
time.sleep(2)
# 回去
browser.forward()
time.sleep(3)


